package com.bilibili.server.entity;

import jakarta.persistence.*;
import lombok.Data;
import java.util.Date;

@Data
@Entity
@Table(name = "videos_detail")
public class VideoDetail {
    @Id
    private Long id;

    private String title;
    @Column(columnDefinition = "text")
    private String description;
    @Column(name = "cover_url")
    private String coverUrl;
    @Column(name = "video_url")
    private String videoUrl;
    private Integer duration;
    @Column(name = "view_count")
    private Integer viewCount;
    @Column(name = "like_count")
    private Integer likeCount;
    @Column(name = "coin_count")
    private Integer coinCount;
    @Column(name = "collect_count")
    private Integer collectCount;
    @Column(name = "share_count")
    private Integer shareCount;
    private String tags;
    private Integer status;
    @Column(name = "created_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date createdAt;
    @Column(name = "updated_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date updatedAt;
    @Column(name = "deleted_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date deletedAt;
    @Column(name = "video_type_id")
    private Integer videoTypeId;
    @Column(name = "type_name")
    private String typeName;
    @Column(name = "user_id")
    private Long userId;
    private String username;
    private String nickname;
    private String avatar;
    @Column(name = "category_id")
    private Integer categoryId;
    @Column(name = "category_name")
    private String categoryName;
    @Column(name = "danmaku_count")
    private Integer danmakuCount;
    @Column(name = "published_at")
    @Temporal(TemporalType.TIMESTAMP)
    private Date publishedAt;
}
